An information processing apparatus such as a PC generally displays an operation screen on its display unit based on information provided by a server apparatus such as a Web server on a network. For example, the information processing apparatus requests, of the Web server on the network, screen information necessary for a Web browser to display an operation screen on the display unit. Upon receiving the request, the Web server transmits, as a response to the request, HTML data corresponding to the screen information for the Web browser to display the operation screen to the information processing apparatus. The Web browser of the information processing apparatus analyzes the received HTML data, and displays, on its display unit, an operation screen based on the description of the analyzed HTML data. Furthermore, upon accepting a user instruction input through the displayed operation screen, the Web browser notifies the Web server of the input instruction. Upon receiving the notification, the Web application of the Web server executes processing according to the sent instruction.
In recent years, as will be described later, some MFPs including a scanner and printer have a Web browser as described above. Such an MFP displays, on its display unit by the Web browser, an operation screen based on screen information which has been provided by a Web server according to the above-described procedure. Furthermore, the MFP accepts various kinds of instructions from the user through the displayed operation screen.
For example, Japanese Patent Laid-Open No. 2006-127503 has proposed a method in which a Web server provides an MFP with screen information of an operation screen used to allow the user to input an instruction for using a function of the MFP. In Japanese Patent Laid-Open No. 2006-127503, the user of the MFP inputs an instruction for the MFP through the operation screen displayed by a Web browser. The Web browser of the MFP notifies the Web server of the input instruction. Upon receiving the notification, the Web server transmits, to the MFP according to a communication protocol such as SOAP (Simple Object Access Protocol), control data for controlling the MFP in order to cause the MFP to execute processing according to the content of the sent instruction. With this operation, the Web server requests the MFP to execute processing according to the control data. Upon receiving the request, the MFP executes the requested processing. According to Japanese Patent Laid-Open No. 2006-127503, executing such processing between the Web server and the MFP eliminates the need to hold, within the MFP, all menu data for operating the MFP. Furthermore, it is possible to readily change the menu data on the Web server instead of the MFP.
When such a Web server is connected with an unspecified client, it generally requests, for each session, user authentication of the client as a connection source. If the Web server executes authentication processing, it often uses form authentication as an authentication method in which an authentication screen for authentication can be readily customized on the Web server side. In this case, the Web application of the Web server provides the client with a form for authentication. Upon completion of client authentication by form authentication, the Web server issues a session ID to be used for a session which is established between the server itself and the client, and transmits it as an HTTP response to the client. The client sets the received session ID in an HTTP request to be transmitted to the server. This procedure enables the client and server to execute subsequent communication as an authenticated session.
Authentication methods other than the form authentication may be used between a Web server and a client. For example, Japanese Patent Laid-Open No. 2008-077614 has described that authentication is performed by SOAP communication according to SOAP. In this case, a client can obtain a session ID by sending an HTTP request to a temporary URL which has been returned with a SOAP response by a Web server after authentication by SOAP communication. By setting the obtained session ID in an HTTP request to be transmitted to the Web server, the client can execute communication with the Web server as an authenticated session like the above-described form authentication.
As in Japanese Patent Laid-Open No. 2006-127503, assume that the Web server executes a device control operation for controlling a device such as a scanner or printer of the MFP by SOAP communication. In this case, in order for the Web server to recognize that the MFP has completed processing requested by the device control operation by the Web server, the MFP needs to notify the Web server of it. If, for example, the device control operation is executed according to SOAP as in Japanese Patent Laid-Open No. 2006-127503, the MFP need only notify the Web server of data indicating completion of the control operation as a SOAP response after the control operation is completed.
Some jobs executed by the MFP by the above-described device control operation, however, may require a long time to complete. If, for example, a print job using a printer is executed, it may take a certain time to complete discharge of a printed paper sheet. In this case, a response time from when the MFP receives a device control request as a SOPA request until it notifies the Web server of completion of the control operation as a SOAP response may become long. This is undesirable in terms of the load on the Web server. To reduce the load on the Web server, for example, the MFP transmits a SOAP response to the Web server in advance upon receiving a SOAP request associated with a device control operation from the Web server. Then, when the requested control operation is complete, the MFP need only transmit a completion notification indicating it to the Web server.
As described above, if the Web server requests authentication when the MFP transmits a device control completion notification, the MFP cannot transmit it to the Web server before the MFP completes authentication by an authentication method requested by the Web server. If, for example, an authentication method requested by the Web server is form authentication, the MFP has to execute authentication according to a form different for each Web server to transmit a completion notification. On the other hand, if authentication methods (for example, an authentication protocol like HTTP authentication) other than the form authentication are requested by the Web server, the MFP needs to support the authentication methods other than the form authentication.